[1mdiff --git a/src/smf_app/smf_context.cpp b/src/smf_app/smf_context.cpp[m
[1mindex 3c90e544..9db1e689 100644[m
[1m--- a/src/smf_app/smf_context.cpp[m
[1m+++ b/src/smf_app/smf_context.cpp[m
[36m@@ -3893,7 +3893,6 @@[m [mbool smf_context::add_pdu_session([m
       pdu_sessions.insert([m
           std::pair<pdu_session_id_t, std::shared_ptr<smf_pdu_session>>([m
               psi, sp));[m
[31m-      lock.unlock();[m
       Logger::smf_app().debug([m
           "PDU Session Id (%d) has been added successfully", psi);[m
       return true;[m
[36m@@ -5007,6 +5006,7 @@[m [mvoid smf_context::send_pdu_session_create_response([m
   sc.get()->find_pdu_session(resp->res.get_pdu_session_id(), sp);[m
 [m
   udpsmfcontext["up_fseid"] = sp.get()->up_fseid.seid;[m
[32m+[m[32m  udpsmfcontext["seid"] = sp.get()->seid;[m
   udpsmfcontext["ipv4_address"] = inet_ntoa(sp.get()->ipv4_address);[m
   UdpSend_smf(udpsmfcontext,"10.103.239.31", 20023);[m
   // json_data["smfcontext"] = udpsmfcontext.dump();[m
[1mdiff --git a/src/udp/cooudp.cpp b/src/udp/cooudp.cpp[m
[1mindex 839d702a..161fceec 100644[m
[1m--- a/src/udp/cooudp.cpp[m
[1m+++ b/src/udp/cooudp.cpp[m
[36m@@ -177,6 +177,9 @@[m [mint udp_server_coop::udp_read_from_peer_smf() {[m
           smf_app_inst->set_supi_2_smf_context(supi64, sc);[m
           // sc.get()->set_plmn(smreq->req.get_plmn());  // PLMN[m
         }[m
[32m+[m[32m        uint64_t seid         = smfcontext["seid"];[m
[32m+[m[32m        smf_app_inst->set_seid_2_smf_context(seid, sc);[m
[32m+[m
 [m
         std::shared_ptr<smf_pdu_session> sp = {};[m
         if (!sc.get()->find_pdu_session(scf.get()->pdu_session_id, sp)) {[m
[36m@@ -212,7 +215,6 @@[m [mint udp_server_coop::udp_read_from_peer_smf() {[m
         sp.get()->set_sessions_graph(graph);[m
 [m
         [m
[31m-        uint64_t seid         = smf_app_inst->generate_seid();[m
         sp->set_seid(seid);[m
         sp->up_fseid.seid = smfcontext["up_fseid"];[m
         sp->ipv4 = true;[m
[36m@@ -222,11 +224,7 @@[m [mint udp_server_coop::udp_read_from_peer_smf() {[m
 [m
         // sp->set_seid(smfcontext["seid"]);[m
         // for finding procedure when receiving response[m
[31m-        smf_app_inst->set_seid_2_smf_context(sp.get()->seid, sc);[m
[31m-[m
[31m-[m
[31m-[m
[31m-[m
[32m+[m[41m        [m
         subscribed_default_qos_t default_qos                = {};[m
         std::shared_ptr<session_management_subscription> ss = {};[m
         sc->get_default_qos(snssai, dnn, default_qos);[m
[36m@@ -252,10 +250,6 @@[m [mint udp_server_coop::udp_read_from_peer_smf() {[m
         flow.far_id_ul.first = true;[m
         sp->generate_pdr_id(flow.pdr_id_ul);[m
 [m
[31m-[m
[31m-[m
[31m-[m
[31m-[m
         smf_qos_flow current_flow{};[m
         current_flow = flow;[m
         Logger::smf_app().warn("----------liuyu-------start_asynch_dfs_procedure");[m
[36m@@ -267,67 +261,6 @@[m [mint udp_server_coop::udp_read_from_peer_smf() {[m
         Logger::smf_app().warn("----------liuyu-------dfs_next_upf");[m
         graph->dfs_next_upf(dl_edges, ul_edges, upf);[m
 [m
[31m-        [m
[31m-        [m
[31m-[m
[31m-        // std::shared_ptr<pfcp_association> current_upf;[m
[31m-        // std::vector<edge> dl_edges2;[m
[31m-        // std::vector<edge> ul_edges2;[m
[31m-        // std::shared_ptr<smf_session_procedure> ssp = {};[m
[31m-        [m
[31m-        // // smf_procedure_code res = ssp.get()->get_current_upf(dl_edges2, ul_edges2, current_upf);[m
[31m-        // edge dl_edge = dl_edges[0];[m
[31m-        // // if (res != smf_procedure_code::OK) {[m
[31m-        // //     Logger::smf_app().error("----------liuyu-------smf_procedure_code");[m
[31m-        // //   }[m
[31m-        // for (auto ul_edge : ul_edges) {[m
[31m-        // //-------------------[m
[31m-        // // IE CREATE_FAR[m
[31m-        // //-------------------[m
[31m-        // pfcp::create_far create_far = ssp.get()->pfcp_create_far(ul_edge, current_flow.qfi);[m
[31m-        // // copy created FAR ID to DL edge for PDR[m
[31m-        // ssp.get()->synch_ul_dl_edges(dl_edges, ul_edges, current_flow.qfi);[m
[31m-[m
[31m-        // // copy values from UL edge, so we simulate two downlink edges for PFCP[m
[31m-        // auto flow                = dl_edge.get_qos_flow(current_flow.qfi);[m
[31m-        // flow->pdr_id_ul          = 0;[m
[31m-        // dl_edge.flow_description = ul_edge.flow_description;[m
[31m-        // dl_edge.precedence       = ul_edge.precedence;[m
[31m-[m
[31m-        // //-------------------[m
[31m-        // // IE CREATE_PDR[m
[31m-        // //-------------------[m
[31m-        // pfcp::create_pdr create_pdr = ssp.get()->pfcp_create_pdr([m
[31m-        //     dl_edge, current_flow.qfi, current_upf->function_features.second);[m
[31m-        // ssp.get()->synch_ul_dl_edges(dl_edges, ul_edges, current_flow.qfi);[m
[31m-[m
[31m-        // ADD IEs to message[m
[31m-        //-------------------[m
[31m-        // n4_triggered->pfcp_ies.set(create_pdr);[m
[31m-        // n4_triggered->pfcp_ies.set(create_far);[m
[31m-[m
[31m-        // if (smf_cfg.enable_dl_pdr_in_pfcp_sess_estab) {[m
[31m-        //   pfcp::create_far create_far_dl =[m
[31m-        //       pfcp_create_far(dl_edge, current_flow.qfi);[m
[31m-        //   pfcp::create_pdr create_pdr_dl =[m
[31m-        //       pfcp_create_pdr_dl(dl_edge, current_flow.qfi);[m
[31m-        //   n4_triggered->pfcp_ies.set(create_pdr_dl);[m
[31m-        //   n4_triggered->pfcp_ies.set(create_far_dl);[m
[31m-        // }[m
[31m-        // Handle PDR and FAR for downlink if thid feature is enabled[m
[31m-        // if (smf_cfg.enable_dl_pdr_in_pfcp_sess_estab) {[m
[31m-        //   Logger::smf_app().info("Adding DL PDR and FAR start");[m
[31m-        // }[m
[31m-      // }[m
[31m-      [m
[31m-      [m
[31m-        [m
[31m-[m
[31m-        [m
[31m-[m
[31m-[m
[31m-[m
[31m-[m
       }[m
     }[m
   return 0;[m
